#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDockWidget>
#include <QVBoxLayout>
#include <QLabel>
#include <QPushButton>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 给主窗口添加一个子窗口，停靠左边
    QDockWidget* dock = new QDockWidget();
    this->addDockWidget(Qt::LeftDockWidgetArea, dock);

    // 可以设置标题
    dock->setWindowTitle("浮动窗口");
    // 浮动窗口内部添加其他控件，不能直接添加，先创建widget，再加入到widget
    // 把widget设置到dockwidget里
    QWidget* container = new QWidget();
    dock->setWidget(container);

    // 创建布局管理器
    QVBoxLayout* layout = new QVBoxLayout();
    container->setLayout(layout);

    // 创建其他控件到layout中
    QLabel* label = new QLabel("这时一个QLabel");
    QPushButton* btn = new QPushButton("这是按钮");
    layout->addWidget(label);
    layout->addWidget(btn);

    // 设置停靠位置
    dock->setAllowedAreas(Qt::LeftDockWidgetArea);
}

MainWindow::~MainWindow()
{
    delete ui;
}

